Keycloak 是一個高度可擴展的開源IAM Solution,是最多人使用的開源IAM Solution,能夠整合到各種應用中,並且可以輕鬆適應分布式架構和微服務。且適配於Prometheus等開源監控系統,為建構開源(免費)的分散式系統不可或缺的一環。另外Keycloak是由Redhat基金會出品的,Red hat出品,必屬精品!
架構與擴展性:
身份協議:
授權服務:
可擴展的身份驗證流程:
客戶端適配器:
部署和自動化:
Token 管理:
新增docker-compose.yaml
docker-compose.yaml
version: '3'
services:
postgres:
image: postgres:15.1
volumes:
- /postgres_data:/var/lib/postgresql/data
environment:
POSTGRES_DB: keycloak
POSTGRES_USER: admin
POSTGRES_PASSWORD: admin
ports:
- 5433:5432
keycloak:
image: quay.io/keycloak/keycloak:21.1.1
environment:
KC_DB: postgres
KC_HOSTNAME_STRICT: 'false'
KC_HOSTNAME_STRICT_HTTPS: 'false'
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
KEYCLOAK_USER: testuser
KEYCLOAK_PASSWORD: testuser
KC_DB_URL: 'jdbc:postgresql://postgres:5432/keycloak'
KC_DB_USERNAME: admin
KC_DB_PASSWORD: admin
KC_HEALTH_ENABLED: 'true'
KC_METRICS_ENABLED: 'true'
KC_HOSTNAME: localhost
PROXY_ADDRESS_FORWARDING: "true"
command:
- "-v start-dev"
ports:
- 8080:8080
depends_on:
- postgres
創建volume
docker volume create postgres_data
執行docker-compose指令
docker-compose up
執行成功後輸入 http://localhost:8080/ 出現以下畫面
按下'Administration console'
輸入帳號密碼(此篇管理員帳號密碼為admin,admin)後即可登入
登入後就可以開始探索Keycloak啦!